ATM (asynchronous transfer mode) is used for communication purposes in integrated digital networks. Through these networks, ATM cells travel to desired destinations. Due to the complexity and demands on a network, there exists concerns involving traffic control in regard to cells in the network. Moreover, in multicast (i.e. the transmission of a single ATM cell to multiple destinations), considerations must be given to memory utilization in regard to the storage of a cell going to a multitude of locations. Ideally, as little memory as possible should be utilized to maintain the cell for all the different locations to which it will be sent. The present invention provides an efficient approach to providing a cell to a multiplicity of connections for multicast.
The multicast function can be limited to the act of causing an individual ATM cell to be transmitted by multiple output ports of an ATM switching system, or it may include causing an individual output port to transmit an individual ATM cell multiple times. In the former case, it is possible to restrict the use of connection addresses so that the instances of a multicast ATM cell transmitted at different output ports will all have the same address information (known as the VPI and VCI). In the latter case, it is necessary for each copy of a multicast ATM cell to have a different VPI and/or VCI to indicate that each copy of the cell should be sent to a different final destination. The prior art for performing multicast in an ATM switch using multiple VPI/VCIs is to create and store multiple copies of the cell at some point within the ATM switching system.
Furthermore, a multicast VC (virtual connection) broadcasts the same packet to M destinations where M&gt;1. It might travel through a number of intermediate nodes/switches before reaching the destinations. At each node, the intermediate VC might broadcast to more destinations generating a dynamic multicast graph as shown below. Each node might add or drop destinations/ports at any time. For example, a party can drop or add to a video conference call at any node any time. For instance, the port addition/drop mechanism implemented in the Series-C/Altantis netmods has severe flaws such as: Cells cannot be freed when a connection has been dropped (Series-C); The last cell of a multicast connection is reserved and is never freed (Series-C and Atlantis); not robust, i.e, misbehaves when adding a port to an existing port; and costly (per-port drop 16-bit pointer).
A mechanism which supports dynamic automatic destination (port) addition and drop would reduce the software interference and improve the system performance.
However, multicast VC frees cell at the speed of the slowest port since it frees a cell until all ports are served for that cell. This dramatically increases the size of the multicast buffer. A mechanism which supports cell discard based on selective ports would reduce multicast queue size and recover from the potential congestion and cell loss quickly, which further improves the performance of multicast VC.
The present invention relates to an efficient method and apparatus for multicasting a cell while preferably using different VPI/VCIs for each instance of the transmission of that cell and being able to add or drop connections from a conference or a broadcast at any time. The multiple transmissions of the cell can occur on the same output port or different output ports of an ATM switching system.